The present invention relates to a method of loading commands in a smart card. More specifically, the present invention relates to a method of off-line loading application specific commands in a smart card.
In modern payment systems, the use of electronic payment means becomes increasingly important. Electronic payment means, such as memory cards and smart cards, are gaining acceptance as their applications are expanded. In many contries electronic cards are being used for public telephones and the like. Advanced cards are capable of containing electronic "purses", in addition to other functionalities. Such advanced payment means contain, in addition to a memory, a processor capable of running suitable programs.
It should be noted that in this text, the terms smart card or card will be used to denote electronic payment means having at least one integrated electronic circuit comprising a processor and a memory. The actual shape of a so-called smart card is not of importance.
The programs running on the processor of a smart card determine the services offered by the card, that is, the functions and associated data structures (e.g. purse, user identification, loyalty program) of the smart card depend on the software present in the card. As time passes, the need often arises to update the programs of the card, for example in order to add a new function or to improve an existing function. To this end, the card should be able to accept new programs which may replace other programs. However, it must be ascertained that the newly loaded programs are valid.
Authentication of programs can relatively easily be accomplished by using a secure data exchange protocol between the card issuer and the card. However, other parties, such as applications providers, want to be able to load new applications (and hence new commands) into a card without having to do this via the card issuer.